home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / FILES.SWG / 0006_FILESTR.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-05-28  |  1KB  |  58 lines

  1. {$B-,D-,F-,I-,L-,N-,O-,R-,S-,V-}
  2.  
  3. Unit Filestr;
  4.  
  5. Interface
  6.  
  7. Uses Dos;
  8.  
  9. Function GetFstr(Var f: Text): String;
  10. Procedure OpenFStr(Var f: Text);
  11.  
  12. Implementation
  13.  
  14. Var
  15.   FStrBuff     : String;
  16.  
  17. Function GetFStr(Var f: Text): String;
  18.   begin
  19.     GetFStr     := FStrBuff;
  20.     FStrBuff[0] := #0;
  21.     TextRec(f).BufPos := 0;
  22.   end; { GetFStr }
  23.   
  24. {$F+}
  25. Function FStrOpen(Var f: TextRec):Word;
  26.   { This does nothing except return zero to indicate success }
  27.   begin
  28.     FStrOpen := 0;
  29.   end; { FStrOpen }
  30.   
  31. Function FStrInOut(Var f: TextRec):Word;
  32.   begin
  33.     FStrBuff[0] := chr(F.BufPos);  
  34.     FStrInOut   := 0;
  35.   end; { FStrInOut }  
  36. {$F-}
  37.  
  38. Procedure OpenFStr(Var f: Text);
  39.   begin
  40.     With TextRec(f) do begin
  41.       mode      := fmClosed;
  42.       BufSize   := Sizeof(buffer);
  43.       OpenFunc  := @FStrOpen;
  44.       InOutFunc := @FStrInOut;
  45.       FlushFunc := @FStrInOut;
  46.       CloseFunc := @FStrOpen;
  47.       BufPos    := 0;
  48.       Bufend    := 0;
  49.       BufPtr    := @FStrBuff[1];
  50.       Name[0]   := #0;
  51.     end; { With }
  52.     FStrBuff[0] := #0;
  53.     reWrite(f);
  54.   end;  { AssignFStr }   
  55.  
  56.  
  57. end.  
  58.